local tempRecordKey = KEYS[1]       --临时计数器record:temp:timeSlice
local userFavoriteKey = KEYS[2]     --用户点赞状态键record:{userId}
local userId = ARGV[1]              --用户id
local pictureId = ARGV[2]           --图片id

--1.检查是否点赞
if redis.call('HEXISTS', userFavoriteKey, pictureId) ~= 1 then
    return -1                       --未点赞 返回-1 表示失败
end

--2.获取旧值
local hashKey = userId .. ':' .. pictureId
local oldNumber = tonumber(redis.call("HGET", tempRecordKey, hashKey) or 0)

--3.计算新值
local newNumber = oldNumber - 1

--4.写入临时计数+标记用户已点赞
redis.call("HSET",tempRecordKey,hashKey,newNumber)
redis.call("HDEL",userFavoriteKey,pictureId,1)

return 1 --返回成功